package com.hundsun.aitest.service;

import cn.hutool.db.Entity;
import com.alibaba.fastjson.JSONArray;
import com.hundsun.aitest.model.plat.TableStruct;

import java.util.List;

public interface DataBaseService {

    /**
     * 初始化数据库连接，首次执行SQL若不存在则创建
     * @param project: 项目名称
     */
    void initProject(String project);

    /**
     * 执行sql语句
     * @param sql ： sql语句
     * @return： 返回结果，列表 [Entity {tableName=pbs_dictionary,
     *                                fieldNames=[branch_no, dict_entry, dict_type, sub_entry, access_level, dict_prompt, order_no, finance_industry_class, position_str, remarks, is_enabled],
     *                                fields={branch_no=-1, dict_entry=B2610, dict_type=0, sub_entry=01, access_level=2, dict_prompt=被列入联合国等国际权威组织、国家有关部门发布的恐怖组织、恐怖分子、通缉犯罪名单及其他禁止性名单, order_no=0,
     *                                        finance_industry_class= , position_str=00000B2610000000012, remarks= , is_enabled=1}}]
     */
    List<Entity> actSql(String sql);

    JSONArray parserSqlResult(List<Entity> entityList);

    List<TableStruct> readTableStructure(String tableName);
}
